import { SetMetadata } from '@nestjs/common';

/**
 * 公开接口装饰器的元数据键
 */
export const IS_PUBLIC_KEY = 'isPublic';

/**
 * 公开接口装饰器
 * 用于标记不需要登录验证的接口
 * 
 * @example
 * @Public()
 * @Post('login')
 * login(@Body() dto: LoginDto) {
 *   return this.authService.login(dto);
 * }
 */
export const Public = () => SetMetadata(IS_PUBLIC_KEY, true);